package com.skyline.attraction.model;

import java.io.Serializable;
import java.util.Date;

import com.skyline.attraction.type.AttractionType;
import com.skyline.base.model.TokenValidatable;
import com.skyline.base.type.Activity;
import com.skyline.common.util.CommonUtils;

public class Attraction implements Serializable, TokenValidatable, Ratyable {
	private static final long serialVersionUID = 2419337492274690086L;
	private Long id;
	private String name;
	private String portrait;
	private AttractionType category;

	private Long creatorId;
	private String creatorEmail;
	private String creatorNickname;
	private String creatorPortrait;

	private Long adminId;
	private String adminEmail;
	private String adminNickname;
	private String adminPortrait;

	private Date createTime;
	private Date updateTime;

	private String introduction;

	// 以后可以 采用id分类来存储
	private String country;
	private String province;
	private String city;
	private String siteId;
	private String detailAddress;

	private Double latitude;// 纬度
	private Double longitude;// 经度

	protected Integer visitNum;
	private float star;
	private Integer votes;

	private Activity activity;// 状态用来判断是否被删除

	private String submitToken;

	public void setActivity(Activity activity) {
		this.activity = activity;

	}

	public Activity getActivity() {
		return activity;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPortrait() {
		return portrait;
	}

	public void setPortrait(String portrait) {
		this.portrait = portrait;
	}

	public AttractionType getCategory() {
		return category;
	}

	public void setCategory(AttractionType category) {
		this.category = category;
	}

	public Long getCreatorId() {
		return creatorId;
	}

	public void setCreatorId(Long creatorId) {
		this.creatorId = creatorId;
	}

	public String getCreatorEmail() {
		return creatorEmail;
	}

	public void setCreatorEmail(String creatorEmail) {
		this.creatorEmail = creatorEmail;
	}

	public String getCreatorNickname() {
		return creatorNickname;
	}

	public void setCreatorNickname(String creatorNickname) {
		this.creatorNickname = creatorNickname;
	}

	public String getCreatorPortrait() {
		return creatorPortrait;
	}

	public void setCreatorPortrait(String creatorPortrait) {
		this.creatorPortrait = creatorPortrait;
	}

	public Long getAdminId() {
		return adminId;
	}

	public void setAdminId(Long adminId) {
		this.adminId = adminId;
	}

	public String getAdminEmail() {
		return adminEmail;
	}

	public void setAdminEmail(String adminEmail) {
		this.adminEmail = adminEmail;
	}

	public String getAdminNickname() {
		return adminNickname;
	}

	public void setAdminNickname(String adminNickname) {
		this.adminNickname = adminNickname;
	}

	public String getAdminPortrait() {
		return adminPortrait;
	}

	public void setAdminPortrait(String adminPortrait) {
		this.adminPortrait = adminPortrait;
	}

	public Date getCreateTime() {
		return CommonUtils.cloneDate(createTime);
	}

	public void setCreateTime(Date createTime) {
		this.createTime = CommonUtils.cloneDate(createTime);
	}

	public Date getUpdateTime() {
		return CommonUtils.cloneDate(updateTime);
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = CommonUtils.cloneDate(updateTime);
	}

	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getSiteId() {
		return siteId;
	}

	public void setSiteId(String siteId) {
		this.siteId = siteId;
	}

	public Double getLatitude() {
		return latitude;
	}

	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	public Double getLongitude() {
		return longitude;
	}

	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getDetailAddress() {
		return detailAddress;
	}

	public void setDetailAddress(String detailAddress) {
		this.detailAddress = detailAddress;
	}

	public float getStar() {
		return star;
	}

	public void setStar(float star) {
		this.star = star;
	}

	public Integer getVotes() {
		return votes;
	}

	public void setVotes(Integer votes) {
		this.votes = votes;
	}

	public Integer getVisitNum() {
		return visitNum;
	}

	public void setVisitNum(Integer visitNum) {
		this.visitNum = visitNum;
	}

	public String getSubmitToken() {
		return submitToken;
	}

	@Override
	public void setSubmitToken(String submitToken) {
		this.submitToken = submitToken;
	}

}
